// 引入axios
import axios from 'axios';
import router from '../router'
let baseURL = "";
// 环境的切换
if (process.env.NODE_ENV == 'development') {
  baseURL = '/api'
}
//创建axios实例
let service = axios.create({
  baseURL: baseURL,
  timeout: 15000 //请求超出时间
})

// 请求拦截
service.interceptors.request.use(config => {
  // 判断是否存在token，如果存在的话，则每个http header都加上token
  if (localStorage.logintoken) {
    //条件这么写是因为在login.vue的页面把token存入了localStorage的logintoken中
    config.headers.token = localStorage.logintoken ;
  }
  return config;//赋值完后把config返回回去
}, error => {
  // 请求错误后把我们的error返回回去
  return Promise.reject(error);
})

/**
 * 响应拦截
 * ,优式在于;在页面中每次请求的时候不需要写一遍catch
 *  */
service.interceptors.response.use(
  response => {
    if(response.data.code==0 || response.data.code==1){
      //  如果token过期了;我们应该清楚token
      localStorage.removeItem('logintoken');
      //  清楚后让它跳转到登录页面去
      router.push('/')
      return response;
    }else{
      //请求成功就给它返回回去
      return response;
    }
  },
  // 请求错误
  error => {
    //错误提醒
    return Promise.reject(error);
  }
);
export { service as axios }
